The present invention generally relates to position location systems that determine the position of a mobile station, such as a cellular phone, by use of wireless signals.
Existing position location techniques based on global positioning system (GPS) satellites utilize a network of satellites, commonly known as space vehicles (SV""s), that transmit signals that are accurately phase referenced to GPS time. A GPS receiver on the ground measures the relative times of arrival of the signals from each xe2x80x9cin viewxe2x80x9d SV (i.e., each SV from which the receiver can receive signals). The relative times of arrival of the signals along with the exact location of the SVs are used to determine the position of the GPS receiver using a technique commonly known as trilateration. A relatively accurate estimate of GPS time at the time the signals were transmitted from each SV is required in order to accurately determine the location of each SV at the time the signals were transmitted. For example, the SV""s motion relative to earth can be as much as 950 meters/sec. The location of the SV is calculated using a mathematical equation that predicts the location of an SV in its orbit at a particular point in time. Due to the velocity of the SV, a single millisecond of time error would equate to an SV position error of up to 0.95 meters. The resulting error in the calculated position of the GPS receiver may vary. However, a general rule of thumb is that one millisecond of time error will result in an error of about 0.5 meters in the calculated position of the GPS receiver.
In order to know the exact time that the signals were transmitted from the SVs, a standard GPS receiver either demodulates the time of transmission from the received signal or maintains a clock bias estimate that estimates the difference between the local receiver clock and GPS time. Establishing the time bias between the GPS receiver""s free running clock and GPS time is often referred to as xe2x80x9csetting the clockxe2x80x9d. If the SV signal is received by the GPS receiver in good condition, then the GPS receiver can set the clock based on information contained in the received signal. The information received indicates the time of transmission. However, even in the best of conditions, setting the clock may consume considerable time (e.g. up to six seconds or more) due to the amount of time required to receive the necessary information transmitted by the SV. Furthermore, in environments in which the signal is blocked or otherwise weakened, the GPS receiver can never set the clock to GPS time, and therefore can never determine its position.
Another way to set the clock is to synchronize the clock with a reference clock that has a known relationship to GPS time. For example, synchronizing to GPS time is straightforward in a CDMA mobile station (MS) (such as a cellular phone) used in a CDMA network. This is because CDMA networks are synchronized to GPS time. Being synchronized to GPS time means that the transmissions from each of the base stations within the network are referenced to GPS time. Accordingly, the CDMA receiver in the MS has knowledge of GPS time. The operating software within the MS can simply transfer this GPS time to the GPS receiver software by, for example, relating the GPS time to a precise hardware signal or pulse which allows the GPS receiver software to associate the GPS time with its own clock time in a precise fashion. As discussed above, prior knowledge of precise GPS time inside the GPS receiver can significantly shorten the time needed to determine the location of a GPS receiver (commonly referred to as xe2x80x9cobtaining a GPS fixxe2x80x9d). Particularly in noisy environments, prior knowledge of precise GPS time may become important, or even essential in obtaining a GPS fix.
For quicker and more efficient determination of GPS fixes in CDMA systems, the Electronics Industry Association/Telecommunications Industry Association (EIA/TIA) adopted a standard known as the xe2x80x9cIS-801 standardxe2x80x9d, or simply xe2x80x9cIS-801xe2x80x9d. IS-801 includes a set of rules (commonly referred to as xe2x80x9cprotocolsxe2x80x9d). The protocols prescribe the data content and sequence of messages that can be exchanged between a position location server (commonly referred to as a PDE) and an MS. These IS-801 messages help the GPS receiver measure pseudoranges and/or generate location fixes. For example, IS-801 messages include requests for xe2x80x9cephemerisxe2x80x9d. Ephemeris is information regarding the orbits of the SVs. IS-801 messages also include other aiding information, such as information regarding the bit patterns that the SVs are expected to send. Predicting the bits allows the GPS receiver to perform coherent integration over longer periods of time. This in turn increases the sensitivity of the GPS receiver.
However, some cellular networks, such as the Global System for Mobile Communication (GSM) networks, are not synchronized with GPS time. Such systems are referred to as xe2x80x9casynchronousxe2x80x9d. Accordingly, the GPS receiver in an asynchronous network does not have direct access to GPS time from the communication signal. In the presence of noise or if the signals from the SVs are attenuated, a GPS system that does not have the luxury of attaining GPS time from the communication system may take longer to determine a GPS fix. In the extreme case, if there is too much noise, determining a GPS fix may become impossible. One method for determining GPS time in an asynchronous system is referred to as a xe2x80x9cPattern Matchxe2x80x9d method. In a Pattern Match method, the time at which GPS signals are received at the MS is compared with the time at which GPS signals are received at a reference receiver that is synchronized to GPS time. Assuming that the distance between the transmitting SV and the reference receiver is essentially equal to the distance between the transmitting SV and the GPS receiver, the time at which the signals are received by the reference receiver can be used to set the clock in the GPS receiver. However, since the information that is transmitted by the GPS SVs is repeated, effective operation of the Pattern Match method requires that the MS be xe2x80x9ccoarselyxe2x80x9d synchronized with GPS time, for example to within a few seconds. Otherwise, it is impossible to tell whether the information received by the GPS receiver was transmitted at the same time as the information received by the reference receiver.
For example, assume that the same information is transmitted by a particular GPS SV every two seconds. Further assume that it is possible for the clock within the GPS receiver to be offset by as much as two seconds from the clock within the reference receiver. Now assume that both the clock within the reference receiver and the clock within the GPS receiver indicated that the information in question was received at exactly 12:00PM. Since we don""t know what time the information was really received by the GPS receiver, it is possible that the information was actually received at 12:00PM, two seconds before 12:00PM, or two seconds after 12:00PM. That is, the information received by the GPS receiver might be information that was actually sent by the SV at the same time as the information received by the reference receiver, two seconds earlier, or two seconds later. Accordingly, there is no way of telling whether the clocks in the reference receiver and the MS are perfectly synchronized or out of synchronization by two seconds.
The coarse time synchronization ensures that the clock within the MS is synchronized to GPS time with sufficient accuracy to ensure that the pattern match method can determine the exact time without ambiguity. Several methods are known for establishing coarse time synchronization. In one method, a transmit and acknowledge pair of messages are used. For example, the MS transmits a request for time and simultaneously starts a local timer. The BTS receives the request from the MS and acknowledges receipt of the request by sending the current time. The MS receives the time estimate from the BTS. The MS then stops the local timer and reads the elapsed time. Such systems can assist in establishing coarse synchronization, but add cost, can become complicated, and can introduce undesirable time delays. Accordingly, there is a need for a faster and more efficient system for setting coarse GPS time in a GPS receiver.
The method and system described herein enables the use of IS-801 protocol intended for use only in synchronous networks to be used by a mobile station (MS) in an asynchronous network by improving the process used to set coarse time. One implementation of the disclosed method and system allows a xe2x80x9cPattern Matchxe2x80x9d algorithm to more precisely set the receiver""s clock to precise GPS time.
A method is described herein for setting coarse GPS time in a GPS receiver of a mobile station (MS) that is communicating with a position determining entity (PDE) through a base station. The GPS receiver is configured to periodically receive transmitted navigation bits from a plurality of SVs synchronized with GPS time. The navigation bits include at least one time indicator field. The MS requests a sensitivity assistance (SA) message from the PDE. The message includes a sequence of predicted navigation bits. In responsive to the request from the MS, the SA message is sent from the base station approximately in time with GPS time. The SA message is received in the MS and the time of receipt is saved. A predicted time indicator field is located within the predicted navigation bits. In response to the located time indicator field, a predicted xe2x80x9cTime of Weekxe2x80x9d (TOW) is determined. Responsive to the predicted TOW, coarse GPS time is set within the GPS receiver to reflect that the predicted navigation bits were received at the time indicated by the predicted TOW. Using the coarse time, the GPS receiver can fix the location of the GPS receiver more quickly and efficiently. For example, responsive to the coarse GPS time and the predicted navigation bits, a Pattern Match Algorithm may be performed to provide precise GPS time.
In order to better set coarse time, an expected error in the TOW may be determined by using the expected network latency. Then, the step of setting coarse GPS time within the GPS receiver may include adjusting the time to take into account the expected error due to the network latency.
The method disclosed herein enables use of the conventional IS-801 messages to assist in fixing the location of a GPS receiver in asynchronous networks such as GSM or UMTS (Universal Mobile Telephone Service). In a described embodiment, the transmitted navigation bits have a format that includes a plurality of frames. Each frame is organized into a plurality of subframes. Each subframe has a xe2x80x9ctime indicatorxe2x80x9d field, such as a xe2x80x9cTime of Weekxe2x80x9d field. The SA message in the IS-801 standard includes at least one subframe of predicted navigation bits. In such embodiments, the method may further comprise locating a xe2x80x9cpredicted time indicatorxe2x80x9d field within a subframe of the predicted navigation bits, and calculating the TOW in response to the predicted time indicator.
In some embodiments, the SA message includes a xe2x80x9cdata lengthxe2x80x9d field that specifies the length of the predicted navigation bits, and a xe2x80x9cReference Bit Numberxe2x80x9d. The Reference Bit Number locates an xe2x80x9cActual Reference Bitxe2x80x9d within a frame of the actual navigation bits with respect to the first bit of the frame that includes the Actual Reference Bit.
The particular bit selected as the Actual Reference Bit is selected because it corresponds to a Predicted Reference Bit that is at a known location within the stream of predicted navigation bits. The location of the Predicted Reference Bit is know with respect to the beginning of the stream of predicted navigation bits. By locating the Actual Reference Bit with respect to the beginning of the frame and the Predicted Reference Bit with respect to the beginning of the stream of predicted navigation bits, each of the fields within the entire stream of predicted navigation bits can be identified and located.
Once located, the time indicator field within the predicted navigation bits is decoded to provide a xe2x80x9cpredicted time indicatorxe2x80x9d. Responsive to the predicted time indicator, a TOW at which the Predicted first bit of the sequence of predicted navigation bits is estimated to have been received is determined. Accordingly, coarse GPS time is set at the time the Predicted first bit of the sequence of predicted navigation bits was received within the GPS receiver based upon the TOW at which the Predicted first bit of the sequence of predicted navigation bits is estimated to have been received. The predicted time indicator is defined with regard to a weekly time reference. The step of determining the TOW may comprise computing a xe2x80x9cBit of Weekxe2x80x9d corresponding to the number of bits elapsed from the weekly time reference until the first bit of the sequence of predicted navigation bits. The step of computing the Bit of Week may include determining if the Predicted first bit of the sequence of predicted navigation bits is in the same subframe as the predicted time indicator, and responsive thereto, adjusting the predicted time indicator.
Additionally, methods are disclosed to adjust computation of the TOW to take into consideration boundary conditions such as week rollover (where the subframe in which the TOW is positioned immediately precedes the transition at the end/beginning of a week), and the case where the first bit of the sequence of predicted navigation bits and the TOW field lie in different, adjacent frames.
The method can be implemented in an MS for determining position utilizing periodically transmitted navigation bits from a plurality of SVs synchronized with GPS time. The periodically transmitted navigation bits include a time indicator field. The MS also communicates with one or more base stations and a position determining entity (PDE).